#                                   第四节 元组
'''
1、元组使用圆括号（），列表使用方括号[]；
2、元组的元素不能修改。
'''
a =(1,2,3)
print('a=',a)
print('type(a):',type(a))
b =1,2,3
print('b=',b)
print('type(b):',type(b))
'''
a= (1, 2, 3)
type(a): <class 'tuple'>
b= (1, 2, 3)
type(b): <class 'tuple'>
'''
'''
4、元组只有1个元素时，系统将其视作单个的字符串或数字。

5、在1个元素后跟上‘，’才能定义单元素的元组。
'''
a =(1)
print('a=',a)
print('type(a):',type(a))
b =(1,)
print('b=',b)
print('type(b):',type(b))
'''
a= 1
type(a): <class 'int'>
b= (1,)
type(b): <class 'tuple'>
'''
#                            第五节 序列转换函数
# 列表、元组和前面学习的字符串都属于Python的一种基本数据类型——序列（sequence）。
# 1、元组与列表之间的转换
ls = [10,20,30,40]
print('ls:',ls)
tuples = tuple(ls)
print('tuples:',tuples)
'''
ls: [10, 20, 30, 40]
tuples: (10, 20, 30, 40)
'''
tup =90,80,100
print('tup:',tup)
ln = list(tup)
print('ln:',ln)
'''
tup: (90, 80, 100)
ln: [90, 80, 100]
'''
# 2、字符串转换成列表
boss = "中华，人民"
lb = list(boss)
print(lb)   #list函数转换后字符串中的  单个字符  依次成为列表元素
'''
['中', '华', '，', '人', '民'] 

'''
lc = boss.split(",")  # 列表 = 字符串.split(分隔符)
print('lc:',lc)
'''
lc: ['中华，人民']
'''
# 列1：如何键盘输入1，2，3，4，5。转换成列表
ld = input("")
print("ld:",ld)
le = ld.split(',')
print('le:',le)
lf = [eval(x) for x in le]
print('lf:',lf)
'''
1,2,3,4,5
ld: 1,2,3,4,5
le: ['1', '2', '3', '4', '5']
lf: [1, 2, 3, 4, 5]
'''
# 列2：使用列表生成式实现嵌套列表的平铺。

lg =[[10,20,30],[40,50],[60,70]]
print('lg:',lg)
lh = [y for x in lg for y in x] # y 是关键
print('lh:',lh)
'''
lg: [[10, 20, 30], [40, 50], [60, 70]]
lh: [10, 20, 30, 40, 50, 60, 70]
'''
ll =[]
for items in lg:
    for items in items:
        ll.append(items)
print('ll:',ll)
'''
ll: [10, 20, 30, 40, 50, 60, 70]
'''
#列：4-3
lj=[]
len1=[1,2,3]
len2=[3,1,4]
for x in len1:
    for y in len2:
        if x != y :
            lj.append((x,y))
print('lj',lj)
'''
lj [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
'''
lk=[]
len1=[1,2,3]
len2=[3,1,4]
for x in len1:
    if x == 1 :
        for y in len2:
            if x != y :
                lk.append((x,y))
print('lk:',lk)
'''
lk: [(1, 3), (1, 4)]
'''
            
    

